package com.unalm.examensustitutorio.dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Query;

import com.unalm.examensustitutorio.util.entity.ECronogramaExamen;
import com.unalm.examensustitutorio.util.entity.ECurso;

public class DCurso implements IDCurso {

	private EntityManagerFactory emf;
	private EntityManager em;

	public void setEmf(EntityManagerFactory emf) {
		this.emf = emf;
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<ECurso> listarTipoCursoXExamen(String codigo, String alumno) {

		List<ECurso> lstCurso = null;
		em = emf.createEntityManager();
		try {
			System.out.println("aca esta llegando");
			Query consulta = em
					.createQuery("select c from ECurso c, EDetalleNota dn  where "
							+ "c.str_codCurso=dn.tbCurso.str_codCurso "
							+ "and dn.int_estProm = "
							+ codigo
							+ " and dn.int_estReg = 1 and dn.tbUsuario.str_codUsuario='"
							+ alumno + "'");

			lstCurso = consulta.getResultList();

		} catch (Exception e) {

			e.printStackTrace();
		} finally {
			em.close();
		}

		return lstCurso;

	}

	@SuppressWarnings("unchecked")
	@Override
	public List<ECurso> listarTipoCursoXExamen(String codTipoExamen) {
		List<ECurso> lstCurso = null;
		em = emf.createEntityManager();
		try {

			// SELECT distinct (A.cod_curso),A.desc_curso from tb_curso a inner
			// join tb_inscripcion b
			// on a.cod_curso=b.cod_curso where b.cod_tipo_exam=2 and est_reg=0

			Query consulta = em
					.createQuery("select c from ECurso c, EInscripcion i where c.str_codCurso = i.tbCurso.str_codCurso "
							+ "and i.int_estReg = 1 and i.tbTipoExamen.str_codTipo='"
							+ codTipoExamen + "'");

			lstCurso = consulta.getResultList();

		} catch (Exception e) {

			e.printStackTrace();
		} finally {
			em.close();
		}

		return lstCurso;
	}


}
